package model;
// Generated 28/06/2012 15:55:16 by Hibernate Tools 3.2.1.GA

import bugStatus.BugStatus;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Bug generated by hbm2java
 */
@Entity
@Table(name = "Bug", catalog = "adr_pos")
public class Bug implements java.io.Serializable {

    private Integer id;
    private Usuario usuarioByQuemConfirmou;
    private Projeto projeto;
    private Usuario usuarioByQuemCriou;
    private Usuario usuarioByQuemResolveu;
    private String descricao;
    private Date data;
    private int status;
   
    public Bug() {
    }

    public Bug(Usuario usuarioByQuemConfirmou, Projeto projeto, Usuario usuarioByQuemCriou, Usuario usuarioByQuemResolveu, int status) {
        this.usuarioByQuemConfirmou = usuarioByQuemConfirmou;
        this.projeto = projeto;
        this.usuarioByQuemCriou = usuarioByQuemCriou;
        this.usuarioByQuemResolveu = usuarioByQuemResolveu;
        this.status = status;
    }

    public Bug(Usuario usuarioByQuemConfirmou, Projeto projeto, Usuario usuarioByQuemCriou, Usuario usuarioByQuemResolveu, String descricao, Date data, int status) {
        this.usuarioByQuemConfirmou = usuarioByQuemConfirmou;
        this.projeto = projeto;
        this.usuarioByQuemCriou = usuarioByQuemCriou;
        this.usuarioByQuemResolveu = usuarioByQuemResolveu;
        this.descricao = descricao;
        this.data = data;
        this.status = status;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "quemConfirmou", nullable = false)
    public Usuario getUsuarioByQuemConfirmou() {
        return this.usuarioByQuemConfirmou;
    }

    public void setUsuarioByQuemConfirmou(Usuario usuarioByQuemConfirmou) {
        this.usuarioByQuemConfirmou = usuarioByQuemConfirmou;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "projeto", nullable = false)
    public Projeto getProjeto() {
        return this.projeto;
    }

    public void setProjeto(Projeto projeto) {
        this.projeto = projeto;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "quemCriou", nullable = false)
    public Usuario getUsuarioByQuemCriou() {
        return this.usuarioByQuemCriou;
    }

    public void setUsuarioByQuemCriou(Usuario usuarioByQuemCriou) {
        this.usuarioByQuemCriou = usuarioByQuemCriou;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "quemResolveu", nullable = false)
    public Usuario getUsuarioByQuemResolveu() {
        return this.usuarioByQuemResolveu;
    }

    public void setUsuarioByQuemResolveu(Usuario usuarioByQuemResolveu) {
        this.usuarioByQuemResolveu = usuarioByQuemResolveu;
    }

    @Column(name = "descricao")
    public String getDescricao() {
        return this.descricao;
    }

    public void setDescricao(String descricao) {
        this.descricao = descricao;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "data", length = 19)
    public Date getData() {
        return this.data;
    }

    public void setData(Date data) {
        this.data = data;
    }

    @Column(name = "status", nullable = false)
    public int getStatus() {
        return this.status;
    }

    public void setStatus(int status) {
        this.status = status;
    }
}
